<?php
require_once "../../_inc/funct.xml2array.php";

function xbrl01aInfo(&$aDefDati, &$sXml, &$aInfo) {
	global $objDB, $objSess;
	$aInfo = null;
	// carica raccordo voce CEE - voce eval
	$aRacc = array();
	foreach($aDefDati as $kX => $row) {
		if ($row['tipo_tab_dati']!=1) continue;
		$aRacc[$row['cod_fonte']] = $row['cod_dato'];
	}
	//dbg_("sXml=".substr($sXml,0,20));
	$aW = xml2array($sXml,array('withAttr'=>true));
	if(rglVx($aW,'esito','cod') != '200') {
		return rglVx($aW,'esito','descr')." (".rglVx($aW,'esito','cod').")";
	}
	
	file_put_contents(RGL_FS_TEMP_DIR."/xbrl.txt", x2vPrint($aW));
	
	$aZ = rglVx($aW,'aXml','xbrl',0);
	//dbg_($aZ);
	$aInfo = array();
	$aInfo['anag']['rag_soc'] = rglVx($aZ,'DatiAnagraficiDenominazione',0);
	$aInfo['anag']['cod_fisc'] = rglVx($aZ,'DatiAnagraficiCodiceFiscale',0);
	$aInfo['anag']['comune'] = rglVx($aZ,'DatiAnagraficiSede',0);
	$aInfo['anag']['cod_cciaa'] = rglVx($aZ,'DatiAnagraficiCodiceCciaa',0).rglVx($aZ,'DatiAnagraficiNumeroRea',0);
	//dbg_($aInfo['anag']);
	$aContext = array();
	for($k=0;$k<10;$k++) {
		$idContext = rglVx($aZ,'context',$k.'A','id');
		if (rglVx($aZ,'context',$k,'period',0,'instant',0)!='') {
			$aContext[$idContext] = rglVx($aZ,'context',$k,'period',0,'instant',0);
		} elseif (rglVx($aZ,'context',$k,'period',0,'endDate',0)!='') {
			$aContext[$idContext] = rglVx($aZ,'context',$k,'period',0,'endDate',0);
		}
	}
	$aDati = array();
	foreach($aRacc as $codXbrl => $codDato) {
		$aX = explode(':',$codXbrl);
		$codX = $aX[count($aX)-1];
		for($nn=0;$nn<10;$nn++) {
			$idContext = rglVx($aZ,$codX,$nn.'A','contextRef');
			if (rglVx($aContext,$idContext)!='') {
				$dataRif = rglVx($aContext,$idContext);
				if ($dataRif!='') {
					$val = rglVx($aZ,$codX,$nn);
					$aDati[$dataRif][$codDato] = $val;
					//dbg_("$dataRif - $codDato - $val");
				}
			} else {
				break;
			}
		}
	}
	$aInfo['dati'] = $aDati;
	return '';
}

